데이터베이스 보안
데이터베이스 보안
데이터베이스 보안 이란?
데이터 베이스 보안(Database Security)은 의도하지 않은 활동으로부터 데이터베이스를 보호하는 시스템, 프로세스, 프로시저이다.
여기서 의도하지 않은 활동이란 권한 오용, 악의 있는 공격, 공인된 개인이나 프로세스에 의하여 만들어진 부주의한 실수 등을 말한다.
데이터베이스 보안을 강화하면 공격자가 내부 네트워크에 들어와 데이터베이스가 유출되었다 하더라도 핵심 자산인 데이터베이스는 암호화 되어있기 때문에 볼 수 없다.
이러한 보안에는 사용자 인증, 접근 통제, 데이터베이스 무결성 보장, 감사, 비밀 데이터의 보호 및 관리 등이 있다.
데이터베이스 보안 공격
1. 집성 공격(Aggregation)
개별적인 여러 소스로부터 민감하지 않은 정보를 수집, 조합하여 민감한 정보를 생성
=> 낮은 보안 등급의 정보조각을 조합하여 높은 등급의 정보를 알아낸다.
ex) 공개된 지사별 영업실적으로 1등급인 총 매출액을 유추해낼 수 있다.
2. 추론 공격(Interface)
보안으로 분류되지 않은 정보에 접근한 후 기밀 정보를 유추하는 것
3. 데이터 디들링(Data Diddling)
처리할 자료를 다른 자료와 바꿔서 처리하는 공격.
즉, 입력값이나 출력값을 부정한 의도로 수정하여 잘못된 결과가 나오도록 유도
데이터베이스 보안 요구사항
① 부적절한 접근 방지
모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근하도록 해야 함
② 추론 방지
일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함
- 데이터베이스 설계 시 추론 탐지: 데이터 베이스 구조 변경, 접근 제어 방식 변경으로 추론 채널을 제거함으로써 추론을 방지
- 쿼리 타임 시 추론 탐지 : 쿼리처리 중 추론채널 위반을 제거하려는 시도, 추론 채널이 탐지되면 쿼리를 거부하거나 변경함으로써 방지
③ 운영적 무결성 보장
트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함
- 로킹(Locking) 기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장
- 로킹 기법등과 같은 병행 수행 제어 기법등이 사용되어야 함
④ 의미적 무결성 보장
데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함
인가되지 않은 사용자의 데이터 변경이나 파괴, 저장, 오류들로부터 데이터베이스를 보호해야 함
⑤ 감사 기능
데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함
DB 접근에 대한 후속적인 분석 및 추론에 의해 비밀 데이터가 노출되었는지를 판단할 수 있는 근거가 됨
⑥ 사용자 인증
DBMS는 운영체제의 사용자 인증과는 별개로 엄격한 인증이 요구됨
데이터베이스 보안 통제
- 접근 통제
- 인증된 사용자에게 허가된 범위 내에서 시스템 내부의 정보에 대한 접근을 허용하는 기술적인 방법
- 사용자가 DB에 접근할 때는 접근 권한이 있는지 검사하여 허용 여부를 결정
- 추론 통제
- 간접적으로 노출된 데이터를 통해 다른 데이터를 추론하여 다른 데이터가 공개되는 것을 방지
- 추론 방지를 위한 방법
- 허용 가능한 질의를 제한
- 질의의 응답으로 제공되는 데이터를 한정
- 데이터를 숫자의 경우 반올림하거나 일관성이 없는 결과 노이즈를 포함
- 흐름 통제
- 접근이 가능한 객체들 간의 정보의 흐름을 조정
- 정보의 흐름: A값이 B에 기록이 되었다면 이를 'A에서 B로 흐름이 발생했다'고 함
- 보안 등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어
- 접근이 가능한 객체들 간의 정보의 흐름을 조정
데이터베이스 보안 거버넌스
최고 정보보호 책임자
정보보안과 관련된 최종 결정을 내리고, 보안 사고가 발생한 경우 최종 책임을 진다.
기업의 정보보호 정책이나 보안 사고의 유형에 따라 최고 경영자가 최종 책임을 지기도 한다.
정보보호위원회: 정보보호에 관한 주요 사안들을 의결하여 이를 정보보호 최고책임자나 최고 경영자에 통지한다.
정보보호 관리조직: 보안 관련 정책을 만들고, 데이터베이스 보안에 대한 지침을 내리고 지침 이행을 지원한다.
데이터 관리조직: 민감 데이터와 일반 데이터를 분류하고, 데이터의 정확성과 무결성을 보장한다.
면접 예상 질문
- 데이터베이스 보안이란 무엇을 말하나요?
- 집성 공격(Aggregation)의 예시를 들어주세요
- 데이터베이스 보안 요구사항 중 ''운영적 무결성 보장''이란 무엇이며, 이에 활용되는 로킹 기법이란 무엇인가요?
기여자
HongEunho
📦